/*
 * @Author: rock
 * @Date: 2025-04-19 08:51:13
 * @LastEditors: rock 
 * @LastEditTime: 2025-04-19 09:26:14
 * @FilePath: /006logger/src/logger.cpp
 * @Description:
 *
 * Copyright (c) 2025 by rock, All Rights Reserved.
 */
#include "logger.h"

// 善后处理
Logger::~Logger()
{
    exit_flag_ = true;
    log_queue_.shutdown(); // 关闭队列, 并且要通知消费者线程, 队列已经退出
    if (worker_thread_.joinable())
    {
        // 防止log线程在主线程中执行时, log线程退出, 其他子线程不能回收
        // 这里是在等待log子线程退出
        worker_thread_.join();
    }
    // 关闭文件
    if (log_file_.is_open())
    {
        log_file_.close();
    }
}
